PATH
MacOS X Server Release Notes Copyright \xa9 1998 by Apple Computer, Inc. All Rights Reserved.
The guidelines incorporated in this release note offer developers a way to improve the cross-release consistency of the layouts of application menus, windows, and dialogs. They focus mainly on Rhapsody application layout and currently provide only minimal information for Yellow Box for Windows. Interface Builder and Project Builder have incorporated these guidelines to simplify the layout process for menus, windows and dialogs (also known as panels).
Contents:
Every application should contain the following menus (if they are applicable to the application) in left to right order: Apple, File, Edit, Window, Services and Help. Interface Builder and Project Builder provide these menus by default.
This menu is not present on Yellow Box for Windows systems.
This menu was formerly named "Windows".
The system manages the contents of this menu.
Beyond the basic menu items listed above, you may include additional items if they are applicable to your application. The following discussion limits prescriptions to placement and does not address the behavior or typical uses for these items.
On Yellow Box for Windows, most menu items have underlined "mnemonics." The default menus you get from Interface Builder or Project Builder have the correct mnemonics for most menu items. For custom menu items, choose unique mnemonics as appropriate.
The best way for cross-platform developers to ensure correct menus on Yellow Box for Windows as well as for Rhapsody is to use two nib files for the menu. The one for Rhapsody is named nibName.nib while the one for windows is named nibName-windows. Interface Builder automatically gives you the correct menu layout for Yellow Box for Windows. In the application's Preference panel, select "Windows Inteface style" mode and then create the nib. These nib files should only contain your menu and related object to avoid unnecessary duplication of human-interface objects. In future releases we will provide a better cross-platform solution for allowing one definition of a menu to apply to applications on both platforms.
To summarize other menu differences on Yellow Box for Windows:
According to the dictionary, the term "ellipsis" means "1. the omission of one or more words that are obviously understood but that must be supplied to make a contruction grammatically complete 2. mark indicating an omission." The guideline for using an ellipsis keeps to the sense of these definitions. Basically, an ellipsis after a menu item or button label indicates that additional information is required to complete the command.
The ellipsis guideline should be applied consistently to both Mac OS Allegro and Rhapsody components. Because it also corresponds to the Win32 human-interface guidelines, no changes to menu items with an ellipsis will be required for Yellow Box for Windows nibs.
You should include an ellipsis with menu items or buttons that result in the following conditions:
Set Title...
Preferences...
Options...
There should be no ellipsis on menu items or buttons that result in the following conditions:
New
Cut
Bold
Print One
Quit
You should use the word "Show" with commands that open accessory windows. Detailed guidelines are:
Other menu- and button-naming conventions include:
There are a basic set of shortcut keys that you should use consistently. For the most part, these shortcuts are consistent with Mac OS and Windows conventions.
Rhapsody provides a variety of window types and each has a set of characteristics intended to support that window's role in the design of an application.
This is the most common type of window in Rhapsody; almost every application will contain at least one document window. The document window is modeless and always appears in the Window menu's window list.
Rhapsody provides a system alert dialog, generated programmatically by the Application Kit. All applications are expected to use this standardized alert in most circumstances. Alerts are application modal and can support up to three buttons. A detailed description on the use of a Alert can be found in the Macintosh Human Interface Guidelines (see For Additional Information, below).
Custom Alerts might be required when the standard Alert's features do not provide enough flexibility.
Standardized system panels (such as Open, Save, Page Layout and Print) are provided by the Application Kit although applications have limited flexibility in customizing these panels. A detailed description on the use of a modal dialog can be found in the Macintosh Human Interface Guidelines (see For Additional Information, below).
Modeless dialogs are accessory document windows that provide additional controls to support the current task in the application's document windows. These windows are not modal, and can be made to hide when the application is no longer frontmost, although leaving them visible is sometime desirable if the window contains status or other information pertinent to other applications. Modeless dialogs can be made key but they do not appear in the Window menu's window list. Examples of modeless dialogs include Fonts, Spelling and Inspectors.
Utility windows are small accessory windows or palettes that provide additional tools or controls to support the task in the application's document window. These windows always float on top of other application windows and always hide when the application is not frontmost. Utility windows can be made key but they do not appear in the Window menu's window list. An example of a utility window is Colors.
Rhapsody provides eight font preferences. Note that on Yellow Box for Windows, most font preferences are picked from the system, so some of the default fonts listed below do not apply. The default values for each of the font preferences are:
Preference |
Default Font |
---|---|
User (Application) Font |
Helvetica Medium (12) |
Fixed Pitch Font |
Ohlfs Medium (10) |
Menu Font |
Charcoal Regular (12) |
Title Bar Font |
Charcoal Regular (12) |
Message Font |
Charcoal Regular (12) |
Palette Font: |
Helvetica Bold (10) |
Tool Tips Font |
Helvetica Medium (10) |
Control Content Font |
Helvetica Medium (12) |
When doing dialog layout, be sure to set your font preferences to these defaults. Also, default font sizes can be overridden by IB or PB when constructing windows or dialogs (see Control to Font Preference Mapping, below).
Each control in an application must map to the appropriate font preference. This mapping allows users to change their font preferences and have all controls in all applications assume the desired change. The control-to-font preference mapping guidelines are:
Controls |
Font Preference |
---|---|
Menubar, pull-down and pop-up menus |
Menu Font (set to 12 point) |
Window and dialog titlebar label |
Title Bar Font (set to 12 point) |
Utility window title bar label |
Palette Font (set to 10 point) |
Dialog static text title |
Message Font (set to 18 point) |
Push Button label |
Message Font (set to 12 point) |
Pop-up button label |
Message Font (set to 12 point) |
Text field contents plus label |
Message Font (set to 12 point) |
Radio button matrix label |
Message Font (set to 12 point) |
Check box button label |
Message Font (set to 12 point) |
Group box title |
Message Font (set to 12 point) |
ComboBox field content |
Message Font (set to 12 point) |
Tool Tips text content |
Tool Tip Font (set to 10 point) |
Static text for informational purposes |
Tool Tip Font (set to 10 point) |
Simple lists (names, settings, etc.) |
Message Font (set to 12 point) |
Browsers and table views |
Control Content Font (set to 12 point) |
Any control that requires fixed pitch |
Fixed Pitch Font (set to 10 point) |
Multi-line or scrolling text field: |
User font (set to 12 point) |
Charcoal is provided with only 12 point and 18 point bitmaps; you should therefore use it only in one of these two sizes. Alerts, which used to use 14 point fonts, should now use 12 point.
There are further guidelines for font preferences in text-entry fields, lists and tables. The appropriate font preference for these controls depends on the context of the control. For example, if a scrolling list of settings is presented alongside other controls that employ the Message font (push buttons, radio button matrix, and so on), then the Message Font preference should be used. If a scrolling list is used alone, or in conjunction with a browser or table view, or if space is an issue, then the Control Content Font preference is preferable.
Your application should conform to a very basic set of guidelines for sizing controls. To simplify the process of resizing and repositioning existing layouts, a decision was made to base most values on a 6-pixel grid. In addition, many of the existing default control sizes, as defined in Interface Builder, are retained. There are some exceptions to this, however:
When you create or change dialog layouts, always remember to use the default font preferences (see Font Preferences, above).
As with control sizing, the layout of dialogs uses a 6-pixel grid since most spacing is based on a multiple of 6.
Avoid the excessive use of group boxes. Group boxes are valuable when they are used sparingly. Use them when you need to relate visually and separate a number of controls from other controls in the same dialog.
A characteristic of the Apple platinum appearance is a one-pixel black border around most controls. Problems arise when two controls are butted against each other, resulting in either a two-pixel black line or one control obscuring (clipping) the view of the neighboring control. This situation commonly occurs when a scrolling text view is placed within a window and positioned against the window's frame or when two scrolling views are placed side-by-side.
While these guidelines supersede earlier Mac OS Human Interface guidelines, they represent a subset of the total information available in the Macintosh Human Interface Guidelines and the Mac OS 8 Human Interface Guidelines documents. Refer to these documents for detailed information on control behaviors, application human-interface design, and localization.
The Macintosh Human Interface Guidelines and Mac OS 8 Human Inteface Guidelines can be found at: http://devworld.apple.com/techinfo/techdocs/mac/mac.html
Microsoft's Win32 guidelines can be found at: http://www.microsoft.com/win32dev/uiguide/default.htm